from pyspark import SparkConf, SparkContext

if __name__ == '__main__':
    # 构建SparkConf对象
    conf = SparkConf().setAppName("test").setMaster("local[*]")
    # 构建SparkContext执行环境入口对象
    sc = SparkContext(conf=conf)

    rdd = sc.parallelize([("a", 1), ("a", 1), ("a", 1), ("b", 1), ("b", 1)])

    rdd = rdd.reduceByKey(lambda a, b: a + b)
    """
    reduceByKey方法，根据key分组，对value的值进行聚合操作
    func: (V, V) -> V
    接收二个参数：同样类型的参数
    返回一个参数：类型需要一致
    """

    print(rdd.collect())
